package com.guigu.exam.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.guigu.exam.entity.ExamRecord;
import com.guigu.exam.vo.ExamRankingVO;
import com.guigu.exam.vo.StartExamVo;
import com.guigu.exam.vo.SubmitAnswerVo;

import java.util.List;

/**
 * 考试记录Service接口
 * 定义考试记录相关的业务方法
 */
public interface ExamRecordService extends IService<ExamRecord> {
/**
 * 开始考试
 *
 * @param startExamVo
 * @return
 */
    ExamRecord startExam(StartExamVo startExamVo);
/**
 * 获取考试记录详情
 *
 * @param id
 * @return
 */
    ExamRecord getExamRecordDetailsById(Integer id);
/**
 * 提交答案
 *
 * @param examRecordId
 * @param answers
 */
    void submitAnswers(Integer examRecordId, List<SubmitAnswerVo> answers);
/**
 * 删除考试记录
 *
 * @param id
 */
    void removeExamRecordById(Integer id);
/**
 * 获取考试排名
 *
 * @param paperId
 * @param limit
 * @return
 */
    List<ExamRankingVO> getExamRankingVOList(Integer paperId, Integer limit);
}